import { github } from '../config/index.config';
import {
	getWriteFile,
	isExistFile,
	log,
	setWriteFile
} from '../utils/index.utils';

// const prompt = require('prompt');

const download = require('download-git-repo');




const downloadSuccess = () => {

};

/**
 * 修改 package.json  文件操作
 * @param { string } cwdFileName
 */
const modifyFile = (cwdFileName) => {
	try {
		const path = `${process.cwd()}/${cwdFileName}/package.json`;
		const backJson = JSON.parse(getWriteFile(path));
		backJson.name = cwdFileName;
		setWriteFile(path,JSON.stringify(backJson));
	} catch (error) {
		log('修改package.json 文件错误 请联系SB作者 wx: bigfirend-love-kid'); // 错误提示
	}
};

export const createFile = (cwdFileName) => {
	try {
		if(!cwdFileName){
			log('文件目录名称不存在...');
		}
		if (isExistFile(cwdFileName)) {
			log('当前文件目录已存在...');
		}
		download(github, cwdFileName, { clone: true }, (err) => {
			if(err){
				log('下载文件目录失败 : Failed to download file directory 错误信息' + err);
			}
			// 修改下载完成的 项目
			modifyFile(cwdFileName);
			downloadSuccess();
			log('\n\n 使用 :  \n \n npm install	 \n npm run dev  \n\n successs' , '\x1B[36m%s\x1B[0m');
		});
	} catch (error) {
		log('代码行错误 请联系SB作者 wx: bigfirend-love-kid'); // 错误提示
	}
};


/**
 * --help 命令输入执行操作
 */
export const logHelp = () => {
	console.log('\x1B[36m%s\x1B[0m',
		`
        create filename                     创建项目
        --help                              查看所有可命令
    `);
};